<Window
  xmlns="https://github.com/avaloniaui"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  xmlns:styles="clr-namespace:Material.Styles;assembly=Material.Styles"
  xmlns:materialIcons="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
  mc:Ignorable="d" d:DesignWidth="300" d:DesignHeight="250"
  x:Class="ControlsSandbox.Views.MainWindow"
  Icon="../Assets/logo.ico"
  Title="Визуальный редактор отчётов"
  Background="#21252B"
  WindowState="Maximized">
  
  <DockPanel>
    <Menu DockPanel.Dock="Top">
      <Menu.Styles>
        <Style Selector="MenuItem">
          <Setter Property="CornerRadius" Value="5"/>
          <Setter Property="Margin" Value="2"/>
        </Style>
      </Menu.Styles>
      <MenuItem Header="_Отчёт">
        <MenuItem Header="Сохранить..."/>
        <MenuItem Header="Компиляция"/>
        <MenuItem Header="Резерв..."/>
        <MenuItem Header="Сформировать из DBF..."/>
        <Separator/>
        <MenuItem Header="Просмотр в виде RML"/>
        <MenuItem Header="Формирование"/>
        <Separator/>
        <MenuItem Header="Параметры отчета"/>
        <Separator/>
        <MenuItem Header="Выход"/>
      </MenuItem>
      <MenuItem Header="_Редактирование">
        <MenuItem Header="Отменить"/>
        <MenuItem Header="Вернуть"/>
        <Separator/>
        <MenuItem Header="Вырезать"/>
        <MenuItem Header="Копировать"/>
        <MenuItem Header="Вставить"/>
        <MenuItem Header="Удалить"/>
        <MenuItem Header="Удалить блок"/>
        <Separator/>
        <MenuItem Header="Дублировать блок"/>
        <MenuItem Header="Сортировать объекты в блоке"/>
        <MenuItem Header="Поднять блок вверх"/>
        <MenuItem Header="Опустить блок вниз"/>
        <Separator/>
        <MenuItem Header="Выделить все"/>
        <Separator/>
        <MenuItem Header="Наверх"/>
        <MenuItem Header="Вниз"/>
        <MenuItem Header="Привязать к сетке"/>
        <MenuItem Header="Автоматическая привязка к сетке"/>
        <Separator/>
        <MenuItem Header="Выравнять по левому краю"/>
        <MenuItem Header="Выравнять по верхнему краю"/>
        <MenuItem Header="Выравнять по правому краю"/>
        <MenuItem Header="Выравнять по нижнему краю"/>
        <Separator/>
        <MenuItem Header="Сделать таблицу из выделенных полей"/>
      </MenuItem>
      <MenuItem Header="_Вид">
        <MenuItem Header="Параметры страницы"/>
        <Separator/>
        <MenuItem Header="Увеличить"/>
        <MenuItem Header="Уменьшить"/>
        <MenuItem Header="Натуральный размер"/>
        <Separator/>
        <MenuItem Header="Обновить окно"/>
        <Separator/>
        <MenuItem Header="Настройка"/>
      </MenuItem>
      <MenuItem Header="Вс_тавка">
        <MenuItem Header="Вставить блок"/>
        <Separator/>
        <MenuItem Header="Режим выделения"/>
        <MenuItem Header="Вставить текст"/>
        <MenuItem Header="Вставить линию"/>
        <MenuItem Header="Вставить рисунок"/>
        <MenuItem Header="Вставить таблицу"/>
      </MenuItem>
      <MenuItem Header="_Сервис">
        <MenuItem Header="Статистика..."/>
        <MenuItem Header="Проверка ошибок"/>
        <MenuItem Header="Изменить язык отображения"/>
        <MenuItem Header="Выполнить макрос..."/>
      </MenuItem>
      <MenuItem Header="C_правка">
        <MenuItem Header="Вызов справки"/>
        <MenuItem Header="Контекстная справка"/>
        <Separator/>
        <MenuItem Header="О программе"/>
      </MenuItem>
    </Menu>

    <StackPanel DockPanel.Dock="Left" UseLayoutRounding="False">
      <StackPanel.Styles>
        <Style Selector="Button">
          <Setter Property="CornerRadius" Value="5"/>
          <Setter Property="Width" Value="32"/>
          <Setter Property="Height" Value="32"/>
          <Setter Property="Background" Value="Transparent"/>
        </Style>
        <Style Selector="ToggleButton">
          <Setter Property="CornerRadius" Value="5"/>
          <Setter Property="Width" Value="32"/>
          <Setter Property="Height" Value="32"/>
          <Setter Property="Background" Value="Transparent"/>
        </Style>
      </StackPanel.Styles>
      
      <Border Margin="3">
        <StackPanel>
          <Button ToolTip.Tip="Компилировать" Content="{materialIcons:MaterialIconExt Kind=TransitionMasked}"/>
          <Button ToolTip.Tip="Сохранить" Content="{materialIcons:MaterialIconExt Kind=ContentSave}"/>
        </StackPanel>
      </Border>

      <Border Margin="3">
        <StackPanel>
          <Button ToolTip.Tip="Увеличить" Content="{materialIcons:MaterialIconExt Kind=ZoomIn}"/>
          <Button ToolTip.Tip="Уменьшить"  Content="{materialIcons:MaterialIconExt Kind=ZoomOut}"/>
          <Button ToolTip.Tip="Натуральный размер" Content="{materialIcons:MaterialIconExt Kind=AspectRatio}"/>
        </StackPanel>
      </Border>

      <Border Margin="3">
        <StackPanel>
          <ToggleButton ToolTip.Tip="Вставить блок" Content="{materialIcons:MaterialIconExt Kind=RectangleOutline}"/>
          <ToggleButton ToolTip.Tip="Режим выделения" Content="{materialIcons:MaterialIconExt Kind=CursorDefault}" IsChecked="True"/>
          <ToggleButton ToolTip.Tip="Вставить текст" Content="{materialIcons:MaterialIconExt Kind=FormatTextbox}"/>
          <ToggleButton ToolTip.Tip="Вставить линию" Content="{materialIcons:MaterialIconExt Kind=VectorLine}"/>
          <ToggleButton ToolTip.Tip="Вставить рисунок" Content="{materialIcons:MaterialIconExt Kind=ImageOutline}"/>
          <ToggleButton ToolTip.Tip="Вставить таблицу" Content="{materialIcons:MaterialIconExt Kind=TableLarge}"/>
        </StackPanel>
      </Border>

      <Border Margin="3">
        <StackPanel>
          <Button ToolTip.Tip="Параметры отчёта" Content="{materialIcons:MaterialIconExt Kind=Cod}"/>
          <Button ToolTip.Tip="Параметры страницы" Content="{materialIcons:MaterialIconExt Kind=FileCog}"/>
          <Button ToolTip.Tip="Просмотр текущего блока в виде RML" Content="{materialIcons:MaterialIconExt Kind=Xml}"/>
        </StackPanel>
      </Border>

      <Border Margin="3">
        <StackPanel>
          <Button ToolTip.Tip="Проверка ошибок" Content="{materialIcons:MaterialIconExt Kind=Bug}"/>
          <ToggleButton ToolTip.Tip="Изменить язык отображения" Content="{materialIcons:MaterialIconExt Kind=Translate}"/>
        </StackPanel>
      </Border>
    </StackPanel>
    
    <Grid>
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="7*"/>
        <ColumnDefinition Width="1"/>
        <ColumnDefinition Width="2*" MinWidth="250"/>
      </Grid.ColumnDefinitions>
      <ScrollViewer Grid.Column="0" HorizontalScrollBarVisibility="Auto" Background="{DynamicResource ThemeAccentColor4}">
        <ContentControl
          Content="{Binding Content}"
          VerticalAlignment="Top"
          HorizontalAlignment="Center"
          BorderBrush="LightGray"
          BorderThickness="1"/>
      </ScrollViewer>
      
      <GridSplitter Grid.Column="1" Background="{DynamicResource ThemeAccentBrush}" ResizeDirection="Columns"/>
      
      <Grid Grid.Column="2">
        <ContentControl Content="{Binding Properties}"/>
      </Grid>
    </Grid>
  </DockPanel>
  
</Window>
